using System;
using System.Data.OracleClient;
using CeA.Reports.Atendimento.DataAccess.Helpers;

namespace CeA.Reports.Atendimento.DataAccess.DAO.Oracle {
    public class OracleDAOFactory : DAOFactory {

        // "Data Source=ORCL;User Id=admqmatic;Password=abcd1234;";
        private static string CONNECTION_STRING = ConfigurationHelper.GetOracleConnectionStringQMATIC();  

        public static OracleConnection CreateConnection()                       {

            OracleConnection cnn = new OracleConnection(OracleDAOFactory.CONNECTION_STRING);
            cnn.Open();
            return cnn;

        }

        public override AuthUsuario GetAuthUsuarioDAO()                         {
            return new OracleAuthUsuarioImpl();
        }

        public override Usuario GetUsuarioDAO()                                 {
            return new OracleUsuarioImpl();
        }

        public override Loja GetLojaDAO()                                       {
            return new OracleLojaImpl();
        }

        public override Regiao GetRegiaoDAO()                                   {
            return new OracleRegiaoImpl();
        }

        public override Rfs GetRfsDAO()                                         {
            return new OracleRfsImpl();
        }

        public override Especialista GetEspecialistaDAO()                       {
            return new OracleEspecialistaImpl();
        }

        public override Hora GetHoraDAO()                                       {
            return new OracleHoraImpl();
        }

        public override Dia GetDiaDAO()                                         {
            return new OracleDiaImpl();
        }

        public override Planejamento GetPlanejamentoDAO()                       {
            return new OraclePlanejamentoImpl();
        }

        public override Servico GetServicoDAO()                                 {
            return new OracleServicoImpl();
        }

        public override RelatorioTempoAtendimento GetRelatorioTempoEsperaDAO()  {
            return new OracleRelatorioTempoAtendimento();
        }

        public override RelatorioServico GetRelatorioServicoDAO()               {
            return new OracleRelatorioServicoImpl();
        }

        public override RelatorioRanking GetRelatorioRankingDAO()               {
            return new OracleRelatorioRankingImpl();
        }
    
    }
}
